{
  // 枚举类型
  // 定义枚举类型 enum
  // 枚举成员的值默认是从下标 0 开始的

  // 1. 数字枚举 值是数字类型
  // 2. 字符串枚举
  // 3. 异构枚举 (用的非常的少)
  enum Direction {
    // Up = 1, // 0
    // Down, // 1
    // Left, // 2
    // Right, // 3

    Up = 'U', // 0
    Down = 'D', // 1
    Left = 'L', // 2
    Right = 'R',

    // Up = 'U', // 0
    // Down = 'D', // 1
    // Left = 3, // 2
    // Right = 4,
  }
  console.log(Direction)

  function changeDirection(direction: Direction) {
    console.log('方向再次改变了', direction)
  }

  // 使用一组明确的可选值, 使用时, (枚举类型, 可选值)
  changeDirection(Direction.Up)
  changeDirection(Direction.Right)
}
